springboot 项目 配置文件打包到jar外部

您所在的位置:网站首页 spring boot maven打包 springboot 项目 配置文件打包到jar外部

springboot 项目 配置文件打包到jar外部

2024-07-17 12:53| 来源: 网络整理| 查看: 265

pom打包插件需要如下  pom详解

org.springframework.boot spring-boot-maven-plugin org.apache.maven.plugins maven-jar-plugin mappers/*.xml *.xml *.yml *.properties true com.tgxun.RunApp org.apache.maven.plugins maven-assembly-plugin src/main/resources/package.xml make-assembly package single

增加配置文件package.xml

package zip true ${project.basedir} / *.bat *.md ${project.basedir}/src/main/resources / mappers/*.xml *.yml *.properties ${project.build.directory} / *.jar

微服务中配置文件若有@xxx.xxx.xx@的配置没有被替换为值,那么可能是如下原因

1.profile替换在编译阶段完成,完成之后,替换好的文件放在target/classes下面; 2.使用assembly插件打包时,不能再从src/main/resources下查找文件,应该从target/classes下面查找配置文件;

那么package中 配置改变如下

${project.basedir}/target/classes / mappers/*.xml *.yml *.properties 如果需要将配置文件打包到某个文件夹下,需要注意:

1.项目结构中,将需要打包出来的配置文件放在叫config的文件夹下  resources/config(此步骤可以不要)

2.maven-jar-plugin的excludes 增加config/ 排除打在jar包中(上一步若省略,此处也可省略)

3.package.xml中更改为

${project.basedir}/target/classes/config /config *.yml *.properties

为什么要叫config文件夹而不是别的名字?

boot读取配置有一个优先级,jar包外面config目录优先级最高,主要是便于从外部修改配置,而不是改jar包中的application.yml文件。优先级如下: 

当前目录的config目录下当前目录classpath的config目录下classpath的根目录

第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下;  第二种是直接把配置文件放到jar包的同级目录;  第三种在classpath下建一个config文件夹,然后把配置文件放进去;  第四种是在classpath下直接放配置文件。

代码和依赖jar包分开打包 -- maven-dependency-plugin

==注释掉如下

org.springframework.boot spring-boot-maven-plugin

 

org.apache.maven.plugins maven-dependency-plugin copy-installed package copy ${project.groupId} ${project.artifactId} ${project.version} ${project.packaging} target/lib copy-lib prepare-package copy-dependencies ${project.build.directory}/lib false false true compile 配置文件分开打包的另一种方式

归档位jar/zip/tag.gz  依然需要使用 maven-assembly-plugin

org.apache.maven.plugins maven-resources-plugin ${project.build.sourceEncoding} copy-resources package copy-resources target/classes application.properties application-${active}.properties banner.txt bootstrap.properties log4j.properties logback-spring.xml ${project.build.directory}/${software.name}/config

 



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3